[INFO] cloning repository https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Klubuntu/back-to-asm-with-rust-kernel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 75d232425eaa295dce60f998ad95bc86840937b7
[INFO] fixing Klubuntu/back-to-asm-with-rust-kernel against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKlubuntu%2Fback-to-asm-with-rust-kernel" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] finished tweaking git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel
[INFO] tweaked toml for git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Klubuntu/back-to-asm-with-rust-kernel already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58
[INFO] running `Command { std: "docker" "start" "76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking kernel v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `vga_clear_row`
[INFO] [stdout]   --> src/main.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | macro_rules! vga_clear_row {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard`
[INFO] [stdout]   --> src/main.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | macro_rules! poll_keyboard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard_simple`
[INFO] [stdout]    --> src/main.rs:133:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | macro_rules! poll_keyboard_simple {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:424:34
[INFO] [stdout]     |
[INFO] [stdout] 424 |     vga_write!(7, 8, b'5', 0x02);;
[INFO] [stdout]     |                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `vga_clear_row`
[INFO] [stdout]   --> src/main.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 | macro_rules! vga_clear_row {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard`
[INFO] [stdout]   --> src/main.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | macro_rules! poll_keyboard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `poll_keyboard_simple`
[INFO] [stdout]    --> src/main.rs:133:14
[INFO] [stdout]     |
[INFO] [stdout] 133 | macro_rules! poll_keyboard_simple {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/main.rs:424:34
[INFO] [stdout]     |
[INFO] [stdout] 424 |     vga_write!(7, 8, b'5', 0x02);;
[INFO] [stdout]     |                                  ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0152]: found duplicate lang item `panic_impl`
[INFO] [stdout]    --> src/main.rs:453:1
[INFO] [stdout]     |
[INFO] [stdout] 453 | / fn panic(_info: &PanicInfo) -> ! {
[INFO] [stdout] 454 | |     vga_write!(0, 0, b'E', 0x4F);
[INFO] [stdout] 455 | |     vga_write!(1, 0, b'R', 0x4F);
[INFO] [stdout] 456 | |     vga_write!(2, 0, b'2', 0x4F);
[INFO] [stdout] 457 | |     vga_write!(3, 0, b'5', 0x4F);
[INFO] [stdout] 458 | |     loop { unsafe { asm!("hlt"); } }
[INFO] [stdout] 459 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the lang item is first defined in crate `std` (which `test` depends on)
[INFO] [stdout]     = note: first definition in `std` loaded from /opt/rustwide/rustup-home/toolchains/622891a4e29178280638a6b63a8908bde2c0c854/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-ebc3593764c44f83.rmeta
[INFO] [stdout]     = note: second definition in the local crate (`kernel`)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:312:5
[INFO] [stdout]     |
[INFO] [stdout] 312 |     unsafe {
[INFO] [stdout]     |     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0152`.
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:37:9
[INFO] [stdout]     |
[INFO] [stdout]  37 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_clear` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:65:9
[INFO] [stdout]     |
[INFO] [stdout]  65 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `vga_write` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:83:9
[INFO] [stdout]     |
[INFO] [stdout]  83 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `write_char_macro` which comes from the expansion of the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:190:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 436 |         unsafe { 
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:257:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |         unsafe {
[INFO] [stdout]     |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 257 |                         unsafe {
[INFO] [stdout]     |                         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 443 |                 poll_keyboard_unified!(0); // Obsługa klawiatury dla wiersza 0
[INFO] [stdout]     |                 ------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `poll_keyboard_unified` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_char` is never used
[INFO] [stdout]    --> src/main.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn write_char(col: usize, row: usize, ch: u8, color: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `kernel` (bin "kernel" test) due to 1 previous error; 4 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58", kill_on_drop: false }`
[INFO] [stdout] 76fe6db76a02c16e6d243c3c4322e36ef05404233a2b6bde80747a500c00cd58
